#pragma once

#include <iostream>
#include <string>
#include <vector>
#include <cassert>
#include <map>

using std::cout;
using std::endl;
using std::cin;

using std::map;
using std::string;
using std::vector;

typedef unsigned int uint;
typedef unsigned char uchar;
typedef unsigned short ushort;
typedef unsigned long long ull;

const int MAX_MATCH = 258;
const int MIN_MATCH = 3;

const ushort WSIZE = 32 * 1024;

string GetFileName(const string& filePath);
string GetFilePostFix(const string& filePath);
void GetLine(FILE* fIn, string& strInfo);